#ifndef __APP_MOTOR_PWM_H
#define __APP_MOTOR_PWM_H

#include "system/includes.h"
#include "app_lib.h"

/**
 * @brief 初始化电机PWM控制
 */
void app_motor_init(void);

/**
 * @brief 启动电机
 */
void app_motor_start(void);

/**
 * @brief 停止电机
 */
void app_motor_stop(void);

/**
 * @brief 设置电机占空比
 * @param duty 占空比值（0-10000）
 * 重要：0=最大功率，10000=最小功率
 */
void app_motor_set_duty(u32 duty);

/**
 * @brief 获取当前占空比
 * @return 当前占空比值
 */
u32 app_motor_get_duty(void);

/**
 * @brief 获取电机运行状态
 * @return 1=正在运行，0=已停止
 */

u32 app_motor_get_voltage_mv(void);

/**
 * @brief 获取电机电压(伏特)
 * @return 电压值(伏特)
 */
float app_motor_get_voltage_v(void);


/**
 * @brief 电机主循环处理
 */
void app_motor_main_handler(void);

/**
 * @brief ADC读取电机信息
 */
void app_motor_adc_read(void);

#endif
